home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / CIncludes / VideoServices.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-15  |  3.3 KB  |  130 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        VideoServices.h
  3.  
  4.      Contains:    Video Services Library Interfaces.
  5.  
  6.      Version:    Technology:    PowerSurge 1.0.2.
  7.                  Package:    Universal Interfaces 2.1.2 on ETO #20
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __VIDEOSERVICES__
  21. #define __VIDEOSERVICES__
  22.  
  23.  
  24. #ifndef __TYPES__
  25. #include <Types.h>
  26. #endif
  27. /*    #include <ConditionalMacros.h>                                */
  28.  
  29. #ifndef __NAMEREGISTRY__
  30. #include <NameRegistry.h>
  31. #endif
  32.  
  33. #ifndef __QUICKDRAW__
  34. #include <Quickdraw.h>
  35. #endif
  36. /*    #include <MixedMode.h>                                        */
  37. /*    #include <QuickdrawText.h>                                    */
  38.  
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42.  
  43. #if PRAGMA_ALIGN_SUPPORTED
  44. #pragma options align=mac68k
  45. #endif
  46.  
  47. #if PRAGMA_IMPORT_SUPPORTED
  48. #pragma import on
  49. #endif
  50.  
  51.  
  52. enum {
  53.     kTransparentEncoding        = 0,
  54.     kInvertingEncoding
  55. };
  56.  
  57. enum {
  58.     kTransparentEncodingShift    = (kTransparentEncoding << 1),
  59.     kTransparentEncodedPixel    = (0x01 << kTransparentEncodingShift),
  60.     kInvertingEncodingShift        = (kInvertingEncoding << 1),
  61.     kInvertingEncodedPixel        = (0x01 << kInvertingEncodingShift)
  62. };
  63.  
  64. enum {
  65.     kHardwareCursorDescriptorMajorVersion = 0x0001,
  66.     kHardwareCursorDescriptorMinorVersion = 0x0000
  67. };
  68.  
  69. struct HardwareCursorDescriptorRec {
  70.     UInt16                            majorVersion;
  71.     UInt16                            minorVersion;
  72.     UInt32                            height;
  73.     UInt32                            width;
  74.     UInt32                            bitDepth;
  75.     UInt32                            maskBitDepth;
  76.     UInt32                            numColors;
  77.     UInt32                            *colorEncodings;
  78.     UInt32                            flags;
  79.     UInt32                            supportedSpecialEncodings;
  80.     UInt32                            specialEncodings[16];
  81. };
  82. typedef struct HardwareCursorDescriptorRec HardwareCursorDescriptorRec, *HardwareCursorDescriptorPtr;
  83.  
  84.  
  85. enum {
  86.     kHardwareCursorInfoMajorVersion = 0x0001,
  87.     kHardwareCursorInfoMinorVersion = 0x0000
  88. };
  89.  
  90. struct HardwareCursorInfoRec {
  91.     UInt16                            majorVersion;                /* Test tool should check for kHardwareCursorInfoMajorVersion1*/
  92.     UInt16                            minorVersion;                /* Test tool should check for kHardwareCursorInfoMinorVersion1*/
  93.     UInt32                            cursorHeight;
  94.     UInt32                            cursorWidth;
  95.     CTabPtr                            colorMap;                    /* nil or big enough for hardware's max colors*/
  96.     Ptr                                hardwareCursor;
  97.     UInt32                            reserved[6];                /* Test tool should check for 0s*/
  98. };
  99. typedef struct HardwareCursorInfoRec HardwareCursorInfoRec, *HardwareCursorInfoPtr;
  100.  
  101.  
  102. enum {
  103.     kVBLInterruptServiceType    = 'vbl ',
  104.     kHBLInterruptServiceType    = 'hbl ',
  105.     kFrameInterruptServiceType    = 'fram'
  106. };
  107.  
  108. typedef ResType InterruptServiceType;
  109.  
  110. typedef UInt32 InterruptServiceIDType, *InterruptServiceIDPtr;
  111.  
  112. extern OSErr VSLNewInterruptService(RegEntryIDPtr serviceDevice, InterruptServiceType serviceType, InterruptServiceIDPtr serviceID);
  113. extern OSErr VSLDisposeInterruptService(InterruptServiceIDType serviceID);
  114. extern OSErr VSLDoInterruptService(InterruptServiceIDType serviceID);
  115. extern Boolean VSLPrepareCursorForHardwareCursor(void *cursorRef, HardwareCursorDescriptorPtr hardwareDescriptor, HardwareCursorInfoPtr hwCursorInfo);
  116.  
  117. #if PRAGMA_IMPORT_SUPPORTED
  118. #pragma import off
  119. #endif
  120.  
  121. #if PRAGMA_ALIGN_SUPPORTED
  122. #pragma options align=reset
  123. #endif
  124.  
  125. #ifdef __cplusplus
  126. }
  127. #endif
  128.  
  129. #endif /* __VIDEOSERVICES__ */
  130.